#include <stdio.h>

/**
 * 使用数组指针遍历数组一
 */
void print_arr_1(int (*arr_point)[], int arr_size) {
    for (int i = 0; i < arr_size; i++) {
       printf("%d ", (*arr_point)[i]);
    }

    putchar('\n');
}

/**
 * 使用数组指针遍历数组二
 */
void print_arr_2(int (*arr_point)[], int arr_size) {
    for (int i = 0; i < arr_size; i++) {
       printf("%d ", *((*arr_point) + i)); 
    }

    putchar('\n');
}

int main(int argc, char *argv[])
{
    int arr[] = {1, 3, 5, 7, 9};
    int size = sizeof(arr) / sizeof(arr[0]);

    // 数组指针
    int (*arr_p)[size] = &arr;

    print_arr_1(arr_p, size);
    print_arr_2(arr_p, size);

    printf("(*arr)[2] = %d\n", (*arr_p)[2]);

    return 0;
}
